package com.huitu.whht.base.core.api.gb.task.entities;

import com.huitu.whht.api.core.common.base.BaseQo;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.huitu.whht.api.core.common.base.MyLocalDateTimeDeserializer;
import com.huitu.whht.api.core.common.base.MyLocalDateTimeSerializer;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 说明: 填报水资源公报任务表查询条件实体类,表名称: T_WHHT_GB_TASK <br/>
 * 日期: 2019-04-11
 * @author LiuCW
 */
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class GbTaskQo extends BaseQo {

private static final long serialVersionUID = 4L;

    /**
      * (数组)任务ID
      */
    private List<String> taskIdList;
    /**
      * 任务ID
      */
    private String taskId;
    /**
      * 任务名称
      */
    private String taskNm;
    /**
      * 水资源公报表名
      */
    private String gbTable;
    /**
      * (数组)水资源公报年份
      */
    private List<Integer> gbYearList;
    /**
      * (数组)创建人ID
      */
    private List<String> cUserIdList;
    /**
      * 创建人ID
      */
    private String cUserId;
    /**
      * (数组)填报人ID
      */
    private List<String> aUserIdList;
    /**
      * 填报人ID
      */
    private String aUserId;
    /**
      * (开始时间)创建任务日期
      */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime cTaskTmBgTm;
    /**
      * (结束时间)创建任务日期
      */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime cTaskTmEdTm;
    /**
      * (开始时间)预计开始填报日期
      */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime bgTmBgTm;
    /**
      * (结束时间)预计开始填报日期
      */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime bgTmEdTm;
    /**
      * (开始时间)预计终止日期
      */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime edTmBgTm;
    /**
      * (结束时间)预计终止日期
      */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime edTmEdTm;
    /**
      * (数组)任务状态（0：创建任务了，但未下发；1：下发任务，等待填报；2：填报完成，未审核；3：已审核）
      */
    private List<String> taskStutasList;
    /**
      * (数组)进度
      */
    private List<Double> jdtList;
    /**
      * 备注
      */
    private String nt;
    /**
      * (数组)审核人ID
      */
    private List<String> auditorIdList;
    /**
      * 审核人ID
      */
    private String auditorId;
    /**
      * 创建人联系方式
      */
    private String cTel;
    /**
      * 填报人联系方式
      */
    private String aTel;
    /**
      * (数组)填报单位ID
      */
    private List<String> orgCdList;
    /**
      * 填报单位ID
      */
    private String orgCd;
    /**
      * (最小)公报表序号
      */
    private Double gbNumMin;
    /**
      * (最大)公报表序号
      */
    private Double gbNumMax;
}